// Decompiled by DJ v3.7.7.81 Copyright 2004 Atanas Neshkov  Date: 2007-9-15 18:54:03


// Source File Name:   mb.java

package com.zelix;


//            qh, si

public class mb extends Error
        implements qh {

    protected static String a = System.getProperty(z(z("=\000\007\013n\"\f\031\01720\035\006\034")), "\n");
    int b;
    private static String z[];

    public mb(String s, int i) {
        super(s);
        b = i;
    }

    public mb(boolean flag, int i, int j, int k, String s, char c, int l) {
        this(a(flag, i, j, k, s, c), l);
    }

    protected static String a(boolean flag, int i, int j, int k, String s, char c) {
        String s1 = null;
        String s2 = null;
        switch (i) {
            case 0: // '\0'
                break;

            case 1: // '\001'
            case 2: // '\002'
            case 3: // '\003'
                s1 = z[10];
                break;

            case 4: // '\004'
                s1 = z[5];
                if (c == '\n' || c == '\r')
                    s2 = z[9];
                break;

            default:
                s1 = z[11];
                break;
        }
        return z[4] + (flag ? z[13] : "\"" + a(String.valueOf(c)) + "\"" + z[6] + (int) c + z[7]) + a + z[3] + j + z[8] + k + (flag ? "" : a + z[1] + a(s) + "\"") + a + z[12] + (s1 != null ? z[2] + s1 + "." : "") + (s2 != null ? " " + s2 : "");
    }

    protected static final String a(String s) {
        StringBuffer stringbuffer;
        int i;
        int j;
        j = si.g;
        stringbuffer = new StringBuffer();
        for (i = 0; i < s.length(); i++) {
            switch (s.charAt(i)) {
                case 0: // '\0'
                    break;

                case 8: // '\b'
                    stringbuffer.append(z[20]);
                    break;

                case 9: // '\t'
                    stringbuffer.append(z[18]);
                    break;

                case 10: // '\n'
                    stringbuffer.append(z[23]);
                    break;

                case 12: // '\f'
                    stringbuffer.append(z[15]);
                    break;

                case 13: // '\r'
                    stringbuffer.append(z[14]);
                    break;
                case 34: // '"'
                    stringbuffer.append(z[16]);
                    break;

                case 39: // '\''
                    stringbuffer.append(z[22]);
                    break;

                case 92: // '\\'
                    stringbuffer.append(z[17]);
                    break;
                default:
                    char c;
                    if ((c = s.charAt(i)) < ' ' || c > '~') {
                        String s1 = z[19] + Integer.toString(c, 16);
                        stringbuffer.append(z[21] + s1.substring(s1.length() - 4, s1.length()));
                        stringbuffer.append(c);
                    }
                    break;
            }
        }

        return stringbuffer.toString();

    }

    public String getMessage() {
        switch (b) {
            case 1: // '\001'
            case 2: // '\002'
            case 3: // '\003'
                return z[0] + b + ")";
        }
        return super.getMessage();
    }

    private static char[] z(String str) {
        char ac[] = str.toCharArray();
        int clen = ac.length;
        if (clen >= 2)
            return ac;
        ac[0] ^= 0x40;
        return ac;
    }

    private static String z(char[] chs) {
        for (int i = 0; i < chs.length; i++) {
            byte key = 0;
            switch (i % 5) {
                case 0:
                    key = 0x51;
                    break;
                case 1:
                    key = 105;
                    break;
                case 2:
                    key = 105;
                    break;
                case 3:
                    key = 110;
                    break;
                default:
                    key = 64;
                    break;
            }
            chs[i] ^= key;
        }
        return new String(chs).intern();
    }

    static {
        String as[] = new String[24];
        as[0] = z(z("\013\f\005\0078q\"\005\0173\"$\b\03544\033I\007.%\f\033\000!=I\031\0172\"\f\033N%#\033\006\034`y"));
        as[1] = z(z("X\b\017\032%#ISNb"));
        as[2] = z(z("&\001\000\002%q\000\007\035)5\fI\017`"));
        as[3] = z(z("X\b\035N,8\007\fN"));
        as[4] = z(z("\013\f\005\0078q\"\005\0173\"$\b\03544\033I\013.2\006\034\00044\033\f\n`"));
        as[5] = z(z("\"\035\033\007.6I\005\00744\033\b\002"));
        as[6] = z(z("qA\b\035#8\000I"));
        as[7] = z(z("xE"));
        as[8] = z(z("}I\n\001,$\004\007N"));
        as[9] = z(z("\002\035\033\007.6I\007\0014q\035\f\034-8\007\b\032%5I\b\032`%\001\fN%?\rI\001&q\035\001\013`=\000\007\013n"));
        as[10] = z(z("2\006\004\003%?\035"));
        as[11] = z(z("$\007\002\000/&\007I\002%)\000\n\017,q\032\035\01744"));
        as[12] = z(z("\035,1'\003\020%I+\022\003&;N"));
        as[13] = z(z("$\007\f\02604\n\035\013$qU,!\006oI"));
        as[14] = z(z("\r\033"));
        as[15] = z(z("\r\017"));
        as[16] = z(z("\rK"));
        as[17] = z(z("\r5"));
        as[18] = z(z("\r\035"));
        as[19] = z(z("aYY^"));
        as[20] = z(z("\r\013"));
        as[21] = z(z("\r\034"));
        as[22] = z(z("\rN"));
        as[23] = z(z("\r\007"));
        z = as;
    }
}